//
//  HOfilter.h
//  tjp_helper
//
//  Created by Daniel Braun on 29/01/07.
//  Copyright 2007 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#import "HOfilterProtocol.h"


@interface HOfilterMult : NSObject  <HierarchicalObjectFiltering> {
	NSArray *filters;
	BOOL any;
}

- (void) setFilters:(NSArray *)a;
- (void) setAny:(BOOL)f;
+ (id) filterMultAny:(BOOL)any filters:(NSArray *)a;
@end

@interface HOfilterIsLeaf : NSObject  <HierarchicalObjectFiltering> {
}
+ (id) filterIsLeaf;
@end

typedef enum {
	hofl_exact_level,
	hofl_or_lower,
	hofl_or_lower_leaf
} hofl_filter_t;

@interface HOfilterIsLevel : NSObject  <HierarchicalObjectFiltering> {
	int level;
	hofl_filter_t allowLower;
}
+ (id) filterIsLevel:(int)l allowLower:(hofl_filter_t)f;
@end


@interface HOfilterOnKeyValue : NSObject  <HierarchicalObjectFiltering> {
	id ref;
	NSString *key;
	NSComparisonResult cmp;
}


+ (id) filterOnKeyValue:(NSString *)key op:(NSComparisonResult)cmp ref:(id )d;

@end
